﻿using DLLPC.Utilities;
using PCBase.UIControls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VisionCore
{

    public class PRM_EQBase_Exc
    {
        private double _excModuleHeight = 50;
        [Category("倒膜气缸"), DisplayName("01.倒膜模组自重(N)"), Description("0~100N")]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double ExcModuleHeight
        {
            get { return _excModuleHeight; }
            set
            {
                _excModuleHeight = value;
                if (_excModuleHeight < 0)
                {
                    _excModuleHeight = 0;
                }

                if (_excModuleHeight > 100)
                {
                    _excModuleHeight = 100;
                }
            }
        }

        private double _excCylindeBackPressure = 105;
        [Category("倒膜气缸"), DisplayName("02.倒膜气缸反顶压力(N)"), Description("0~200N")]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double ExcCylindeBackPressure
        {
            get { return _excCylindeBackPressure; }
            set
            {
                _excCylindeBackPressure = value;
                if (_excCylindeBackPressure < 0)
                {
                    _excCylindeBackPressure = 0;
                }

                if (_excCylindeBackPressure > 200)
                {
                    _excCylindeBackPressure = 200;
                }
            }
        }
        public override string ToString()
        {
            return "...";
        }
    }
    public class PRM_EQBase_ULDST
    {
        [Category("载出平台"), DisplayName("01.初对位相机与精定位相机位置"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point CCDPitch { get; set; } = new ST_Point();
        [Category("载出移载"), DisplayName("02.精对位相机与载出移载1位置"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point ULDTR1 { get; set; } = new ST_Point();

        [Category("载出移载"), DisplayName("03.精对位相机与载出移载2位置"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point ULDTR2 { get; set; } = new ST_Point();

        public override string ToString()
        {
            return "...";
        }

        public class ST_Point
        {
            public double X { get; set; }
            public double Y { get; set; }

            public ST_Point()
            {
                X = 0;
                Y = 0;
            }

            public override string ToString()
            {
                return "...";
            }
        }
    }

    public class PRM_EQBase_LDTR
    {
        [Category("载入移载"), DisplayName("01.载入移载夹爪1与2位置偏差"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point Pitch { get; set; } = new ST_Point();
        public override string ToString()
        {
            return "...";
        }

        public class ST_Point
        {
            public double X { get; set; }
            public double Y { get; set; }
            public double R { get; set; }

            public ST_Point()
            {
                X = 0;
                Y = 0;
                R = 0;
            }

            public override string ToString()
            {
                return "...";
            }
        }
    }
}
